blob: 4448ce2704284bde15a8a3222545993035e56467 [file] [log] [blame]
Junio C Hamanof7c042d2008-06-06 22:50:531git(1)
Junio C Hamano1a4e8412005-12-27 08:17:232======
3
4NAME
5----
6git - the stupid content tracker
7
8
9SYNOPSIS
10--------
Junio C Hamano6b2cee12006-08-26 08:43:3111[verse]
Junio C Hamano79f4c7c2013-09-20 21:03:3712'git' [--version] [--help] [-C <path>] [-c <name>=<value>]
Junio C Hamano90ff60f2012-02-20 10:25:1413 [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
Junio C Hamanof7279012011-08-18 06:13:1314 [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
15 [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
Junio C Hamano90ff60f2012-02-20 10:25:1416 <command> [<args>]
Junio C Hamano1a4e8412005-12-27 08:17:2317
18DESCRIPTION
19-----------
Junio C Hamanoe27fb932006-04-03 05:34:1020Git is a fast, scalable, distributed revision control system with an
21unusually rich command set that provides both high-level operations
22and full access to internals.
23
Junio C Hamanofce7c7e2008-07-02 03:06:3824See linkgit:gittutorial[7] to get started, then see
Junio C Hamanod0316112012-08-22 19:55:2925link:everyday.html[Everyday Git] for a useful minimum set of
26commands. The link:user-manual.html[Git User's Manual] has a more
27in-depth introduction.
Junio C Hamano1a4e8412005-12-27 08:17:2328
Junio C Hamanod0316112012-08-22 19:55:2929After you mastered the basic concepts, you can come back to this
Junio C Hamano076ffcc2013-02-06 05:13:2130page to learn what commands Git offers. You can learn more about
31individual Git commands with "git help command". linkgit:gitcli[7]
Junio C Hamanod0316112012-08-22 19:55:2932manual page gives you an overview of the command line command syntax.
Junio C Hamano33db4372006-06-07 19:51:4533
Junio C Hamano076ffcc2013-02-06 05:13:2134Formatted and hyperlinked version of the latest Git documentation
Junio C Hamanod0316112012-08-22 19:55:2935can be viewed at `http://git-htmldocs.googlecode.com/git/git.html`.
Junio C Hamanob63afff2007-05-01 03:05:5536
Junio C Hamano9d52e572007-02-13 23:48:2037ifdef::stalenotes[]
38[NOTE]
39============
Junio C Hamano9d52e572007-02-13 23:48:2040
Junio C Hamanoa9b8d242007-05-19 04:51:5541You are reading the documentation for the latest (possibly
Junio C Hamano076ffcc2013-02-06 05:13:2142unreleased) version of Git, that is available from 'master'
Junio C Hamanoa9b8d242007-05-19 04:51:5543branch of the `git.git` repository.
44Documentation for older releases are available here:
Junio C Hamano2fc92602007-03-29 01:09:4645
Junio C Hamanob73af6c2013-12-03 22:07:1146* link:v1.8.5.1/git.html[documentation for release 1.8.5.1]
Junio C Hamano5f17d9d2013-11-27 22:14:5947
48* release notes for
Junio C Hamanob73af6c2013-12-03 22:07:1149 link:RelNotes/1.8.5.1.txt[1.8.5.1],
Junio C Hamano5f17d9d2013-11-27 22:14:5950 link:RelNotes/1.8.5.txt[1.8.5].
51
Junio C Hamano6c7be462013-12-03 07:18:4452* link:v1.8.4.5/git.html[documentation for release 1.8.4.5]
Junio C Hamano683a8612013-08-23 20:50:0953
54* release notes for
Junio C Hamano6c7be462013-12-03 07:18:4455 link:RelNotes/1.8.4.5.txt[1.8.4.5],
Junio C Hamanobc70a472013-11-20 21:49:5656 link:RelNotes/1.8.4.4.txt[1.8.4.4],
Junio C Hamanoca1814f2013-11-08 21:29:5057 link:RelNotes/1.8.4.3.txt[1.8.4.3],
Junio C Hamano79a784d2013-10-28 19:15:4358 link:RelNotes/1.8.4.2.txt[1.8.4.2],
Junio C Hamano369e3402013-10-15 18:40:2559 link:RelNotes/1.8.4.1.txt[1.8.4.1],
Junio C Hamano683a8612013-08-23 20:50:0960 link:RelNotes/1.8.4.txt[1.8.4].
61
Junio C Hamano58f587a2013-07-22 19:20:5962* link:v1.8.3.4/git.html[documentation for release 1.8.3.4]
Junio C Hamanoc7102962013-05-29 23:57:1763
64* release notes for
Junio C Hamano58f587a2013-07-22 19:20:5965 link:RelNotes/1.8.3.4.txt[1.8.3.4],
Junio C Hamanoededf2b2013-07-15 21:11:1666 link:RelNotes/1.8.3.3.txt[1.8.3.3],
Junio C Hamano1b5a3822013-06-28 22:15:4767 link:RelNotes/1.8.3.2.txt[1.8.3.2],
Junio C Hamano8d74cd32013-06-10 19:54:5568 link:RelNotes/1.8.3.1.txt[1.8.3.1],
Junio C Hamanoc7102962013-05-29 23:57:1769 link:RelNotes/1.8.3.txt[1.8.3].
70
Junio C Hamanofb593352013-05-09 21:34:4571* link:v1.8.2.3/git.html[documentation for release 1.8.2.3]
Junio C Hamano353e1c92013-03-13 19:11:4472
73* release notes for
Junio C Hamanoc7102962013-05-29 23:57:1774 link:RelNotes/1.8.2.3.txt[1.8.2.3],
75 link:RelNotes/1.8.2.2.txt[1.8.2.2],
76 link:RelNotes/1.8.2.1.txt[1.8.2.1],
Junio C Hamano353e1c92013-03-13 19:11:4477 link:RelNotes/1.8.2.txt[1.8.2].
78
Junio C Hamano63b6fdb2013-04-07 23:37:1379* link:v1.8.1.6/git.html[documentation for release 1.8.1.6]
Junio C Hamano9b2005a2013-01-01 00:10:5280
81* release notes for
Junio C Hamano63b6fdb2013-04-07 23:37:1382 link:RelNotes/1.8.1.6.txt[1.8.1.6],
Junio C Hamano68061622013-03-01 22:13:3783 link:RelNotes/1.8.1.5.txt[1.8.1.5],
Junio C Hamano13044222013-02-20 07:36:1884 link:RelNotes/1.8.1.4.txt[1.8.1.4],
Junio C Hamanob5e079f2013-02-08 00:02:5285 link:RelNotes/1.8.1.3.txt[1.8.1.3],
86 link:RelNotes/1.8.1.2.txt[1.8.1.2],
Junio C Hamano1bac29c2013-01-14 19:48:1687 link:RelNotes/1.8.1.1.txt[1.8.1.1],
Junio C Hamano9b2005a2013-01-01 00:10:5288 link:RelNotes/1.8.1.txt[1.8.1].
89
Junio C Hamanobabc36d2012-12-28 00:38:4690* link:v1.8.0.3/git.html[documentation for release 1.8.0.3]
Junio C Hamano3b4382b2012-10-21 22:03:1591
92* release notes for
Junio C Hamanobabc36d2012-12-28 00:38:4693 link:RelNotes/1.8.0.3.txt[1.8.0.3],
Junio C Hamano2d7c5de2012-12-10 22:17:3894 link:RelNotes/1.8.0.2.txt[1.8.0.2],
Junio C Hamanob4e58b12012-11-26 03:13:0695 link:RelNotes/1.8.0.1.txt[1.8.0.1],
96 link:RelNotes/1.8.0.txt[1.8.0].
Junio C Hamano3b4382b2012-10-21 22:03:1597
Junio C Hamano14d688f2012-10-17 20:33:2198* link:v1.7.12.4/git.html[documentation for release 1.7.12.4]
Junio C Hamano0862f092012-08-20 01:44:1799
100* release notes for
Junio C Hamano14d688f2012-10-17 20:33:21101 link:RelNotes/1.7.12.4.txt[1.7.12.4],
Junio C Hamanof9ad45c2012-10-08 20:01:27102 link:RelNotes/1.7.12.3.txt[1.7.12.3],
Junio C Hamano9cdfecf2012-09-30 07:38:36103 link:RelNotes/1.7.12.2.txt[1.7.12.2],
Junio C Hamano8ce35d72012-09-18 22:30:42104 link:RelNotes/1.7.12.1.txt[1.7.12.1],
Junio C Hamano0862f092012-08-20 01:44:17105 link:RelNotes/1.7.12.txt[1.7.12].
106
Junio C Hamanoa3cfb762012-09-15 05:32:14107* link:v1.7.11.7/git.html[documentation for release 1.7.11.7]
Junio C Hamanobec9cd12012-04-06 17:53:42108
109* release notes for
Junio C Hamanoa3cfb762012-09-15 05:32:14110 link:RelNotes/1.7.11.7.txt[1.7.11.7],
Junio C Hamano693e7092012-09-12 22:56:53111 link:RelNotes/1.7.11.6.txt[1.7.11.6],
Junio C Hamanod7f343f2012-08-15 22:24:50112 link:RelNotes/1.7.11.5.txt[1.7.11.5],
Junio C Hamanocde594a2012-07-30 22:07:30113 link:RelNotes/1.7.11.4.txt[1.7.11.4],
Junio C Hamanobb300642012-07-22 21:09:14114 link:RelNotes/1.7.11.3.txt[1.7.11.3],
Junio C Hamano9e521622012-07-11 22:14:12115 link:RelNotes/1.7.11.2.txt[1.7.11.2],
Junio C Hamano7f2b3cb2012-06-22 22:42:39116 link:RelNotes/1.7.11.1.txt[1.7.11.1],
Junio C Hamano010705a2012-06-19 23:37:26117 link:RelNotes/1.7.11.txt[1.7.11].
118
119* link:v1.7.10.5/git.html[documentation for release 1.7.10.5]
120
121* release notes for
122 link:RelNotes/1.7.10.5.txt[1.7.10.5],
Junio C Hamano4e804872012-06-03 23:29:27123 link:RelNotes/1.7.10.4.txt[1.7.10.4],
Junio C Hamanoe5fc3c32012-06-01 21:54:19124 link:RelNotes/1.7.10.3.txt[1.7.10.3],
Junio C Hamano4fdb4d62012-05-11 20:03:49125 link:RelNotes/1.7.10.2.txt[1.7.10.2],
Junio C Hamano0aadbc32012-05-02 04:48:23126 link:RelNotes/1.7.10.1.txt[1.7.10.1],
Junio C Hamanobec9cd12012-04-06 17:53:42127 link:RelNotes/1.7.10.txt[1.7.10].
128
Junio C Hamano67cc20a2012-04-26 20:02:20129* link:v1.7.9.7/git.html[documentation for release 1.7.9.7]
Junio C Hamano12bf4712012-01-27 20:58:06130
131* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20132 link:RelNotes/1.7.9.7.txt[1.7.9.7],
Junio C Hamano6f8d9a92012-04-04 00:35:16133 link:RelNotes/1.7.9.6.txt[1.7.9.6],
Junio C Hamano0ff98162012-03-31 18:19:09134 link:RelNotes/1.7.9.5.txt[1.7.9.5],
Junio C Hamano743dec72012-03-12 23:43:17135 link:RelNotes/1.7.9.4.txt[1.7.9.4],
Junio C Hamanoa5a62162012-03-05 23:25:43136 link:RelNotes/1.7.9.3.txt[1.7.9.3],
Junio C Hamano83002c92012-02-23 02:23:54137 link:RelNotes/1.7.9.2.txt[1.7.9.2],
Junio C Hamanoad0c76a2012-02-14 18:53:55138 link:RelNotes/1.7.9.1.txt[1.7.9.1],
Junio C Hamano12bf4712012-01-27 20:58:06139 link:RelNotes/1.7.9.txt[1.7.9].
140
Junio C Hamano67cc20a2012-04-26 20:02:20141* link:v1.7.8.6/git.html[documentation for release 1.7.8.6]
Junio C Hamanoa4a39922011-12-02 19:55:57142
143* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20144 link:RelNotes/1.7.8.6.txt[1.7.8.6],
Junio C Hamano6f8d9a92012-04-04 00:35:16145 link:RelNotes/1.7.8.5.txt[1.7.8.5],
Junio C Hamanobfeab4e2012-01-19 00:51:27146 link:RelNotes/1.7.8.4.txt[1.7.8.4],
Junio C Hamano4fd24422012-01-06 21:52:43147 link:RelNotes/1.7.8.3.txt[1.7.8.3],
148 link:RelNotes/1.7.8.2.txt[1.7.8.2],
149 link:RelNotes/1.7.8.1.txt[1.7.8.1],
Junio C Hamanoa4a39922011-12-02 19:55:57150 link:RelNotes/1.7.8.txt[1.7.8].
151
Junio C Hamano67cc20a2012-04-26 20:02:20152* link:v1.7.7.7/git.html[documentation for release 1.7.7.7]
Junio C Hamanoc94277e2011-09-30 21:43:43153
154* release notes for
Junio C Hamano67cc20a2012-04-26 20:02:20155 link:RelNotes/1.7.7.7.txt[1.7.7.7],
Junio C Hamanobfeab4e2012-01-19 00:51:27156 link:RelNotes/1.7.7.6.txt[1.7.7.6],
Junio C Hamano78b3a4e2011-12-15 23:48:40157 link:RelNotes/1.7.7.5.txt[1.7.7.5],
158 link:RelNotes/1.7.7.4.txt[1.7.7.4],
159 link:RelNotes/1.7.7.3.txt[1.7.7.3],
160 link:RelNotes/1.7.7.2.txt[1.7.7.2],
Junio C Hamano6231f822011-10-24 05:18:52161 link:RelNotes/1.7.7.1.txt[1.7.7.1],
Junio C Hamanoc94277e2011-09-30 21:43:43162 link:RelNotes/1.7.7.txt[1.7.7].
163
Junio C Hamanoe382f502012-02-06 17:17:06164* link:v1.7.6.6/git.html[documentation for release 1.7.6.6]
Junio C Hamano7444c602011-06-26 22:42:48165
166* release notes for
Junio C Hamanoe382f502012-02-06 17:17:06167 link:RelNotes/1.7.6.6.txt[1.7.6.6],
Junio C Hamano78b3a4e2011-12-15 23:48:40168 link:RelNotes/1.7.6.5.txt[1.7.6.5],
Junio C Hamano38a96a42011-09-23 23:22:52169 link:RelNotes/1.7.6.4.txt[1.7.6.4],
Junio C Hamano7bd050f2011-09-22 06:32:22170 link:RelNotes/1.7.6.3.txt[1.7.6.3],
171 link:RelNotes/1.7.6.2.txt[1.7.6.2],
172 link:RelNotes/1.7.6.1.txt[1.7.6.1],
Junio C Hamano7444c602011-06-26 22:42:48173 link:RelNotes/1.7.6.txt[1.7.6].
174
Junio C Hamanoe5dff952011-06-01 22:52:44175* link:v1.7.5.4/git.html[documentation for release 1.7.5.4]
Junio C Hamanoa3d4ca22011-04-24 18:09:52176
177* release notes for
Junio C Hamanoe5dff952011-06-01 22:52:44178 link:RelNotes/1.7.5.4.txt[1.7.5.4],
Junio C Hamano90b56532011-05-26 22:39:49179 link:RelNotes/1.7.5.3.txt[1.7.5.3],
Junio C Hamano300d4362011-05-20 05:46:10180 link:RelNotes/1.7.5.2.txt[1.7.5.2],
Junio C Hamanob77f8192011-05-05 01:30:38181 link:RelNotes/1.7.5.1.txt[1.7.5.1],
Junio C Hamanoa3d4ca22011-04-24 18:09:52182 link:RelNotes/1.7.5.txt[1.7.5].
183
Junio C Hamano0a901522011-04-19 22:42:05184* link:v1.7.4.5/git.html[documentation for release 1.7.4.5]
Junio C Hamano103b5722011-01-31 05:03:45185
186* release notes for
Junio C Hamano0a901522011-04-19 22:42:05187 link:RelNotes/1.7.4.5.txt[1.7.4.5],
Junio C Hamanoee3adc32011-04-06 19:53:38188 link:RelNotes/1.7.4.4.txt[1.7.4.4],
Junio C Hamanoa7e3c512011-04-03 08:34:11189 link:RelNotes/1.7.4.3.txt[1.7.4.3],
190 link:RelNotes/1.7.4.2.txt[1.7.4.2],
Junio C Hamano51f3c5a2011-02-12 00:41:17191 link:RelNotes/1.7.4.1.txt[1.7.4.1],
Junio C Hamano103b5722011-01-31 05:03:45192 link:RelNotes/1.7.4.txt[1.7.4].
193
Junio C Hamanoe0552e42011-01-06 00:34:47194* link:v1.7.3.5/git.html[documentation for release 1.7.3.5]
Junio C Hamanoac752fa2010-09-19 00:01:00195
196* release notes for
Junio C Hamanoe0552e42011-01-06 00:34:47197 link:RelNotes/1.7.3.5.txt[1.7.3.5],
Junio C Hamano7eeb87e2010-12-16 05:58:59198 link:RelNotes/1.7.3.4.txt[1.7.3.4],
Junio C Hamano1aa55142010-12-10 02:04:44199 link:RelNotes/1.7.3.3.txt[1.7.3.3],
Junio C Hamanod2179ef2010-10-22 04:12:17200 link:RelNotes/1.7.3.2.txt[1.7.3.2],
Junio C Hamano3b4609d2010-09-30 00:04:34201 link:RelNotes/1.7.3.1.txt[1.7.3.1],
Junio C Hamanoac752fa2010-09-19 00:01:00202 link:RelNotes/1.7.3.txt[1.7.3].
203
Junio C Hamano0d75e872010-12-17 06:57:26204* link:v1.7.2.5/git.html[documentation for release 1.7.2.5]
Junio C Hamano08acb732010-07-21 21:58:33205
206* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26207 link:RelNotes/1.7.2.5.txt[1.7.2.5],
Junio C Hamano1aa55142010-12-10 02:04:44208 link:RelNotes/1.7.2.4.txt[1.7.2.4],
Junio C Hamano05d16ca2010-09-10 21:57:17209 link:RelNotes/1.7.2.3.txt[1.7.2.3],
210 link:RelNotes/1.7.2.2.txt[1.7.2.2],
211 link:RelNotes/1.7.2.1.txt[1.7.2.1],
212 link:RelNotes/1.7.2.txt[1.7.2].
Junio C Hamano08acb732010-07-21 21:58:33213
Junio C Hamano0d75e872010-12-17 06:57:26214* link:v1.7.1.4/git.html[documentation for release 1.7.1.4]
Junio C Hamanofc5d7352010-04-24 02:59:11215
216* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26217 link:RelNotes/1.7.1.4.txt[1.7.1.4],
Junio C Hamano1aa55142010-12-10 02:04:44218 link:RelNotes/1.7.1.3.txt[1.7.1.3],
Junio C Hamano05d16ca2010-09-10 21:57:17219 link:RelNotes/1.7.1.2.txt[1.7.1.2],
220 link:RelNotes/1.7.1.1.txt[1.7.1.1],
221 link:RelNotes/1.7.1.txt[1.7.1].
Junio C Hamanofc5d7352010-04-24 02:59:11222
Junio C Hamano0d75e872010-12-17 06:57:26223* link:v1.7.0.9/git.html[documentation for release 1.7.0.9]
Junio C Hamanodca34822010-02-13 01:02:52224
225* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26226 link:RelNotes/1.7.0.9.txt[1.7.0.9],
Junio C Hamano1aa55142010-12-10 02:04:44227 link:RelNotes/1.7.0.8.txt[1.7.0.8],
Junio C Hamano05d16ca2010-09-10 21:57:17228 link:RelNotes/1.7.0.7.txt[1.7.0.7],
229 link:RelNotes/1.7.0.6.txt[1.7.0.6],
230 link:RelNotes/1.7.0.5.txt[1.7.0.5],
231 link:RelNotes/1.7.0.4.txt[1.7.0.4],
232 link:RelNotes/1.7.0.3.txt[1.7.0.3],
233 link:RelNotes/1.7.0.2.txt[1.7.0.2],
234 link:RelNotes/1.7.0.1.txt[1.7.0.1],
235 link:RelNotes/1.7.0.txt[1.7.0].
Junio C Hamanodca34822010-02-13 01:02:52236
Junio C Hamano0d75e872010-12-17 06:57:26237* link:v1.6.6.3/git.html[documentation for release 1.6.6.3]
Junio C Hamanof3a01ab2009-12-24 00:30:34238
239* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26240 link:RelNotes/1.6.6.3.txt[1.6.6.3],
Junio C Hamano05d16ca2010-09-10 21:57:17241 link:RelNotes/1.6.6.2.txt[1.6.6.2],
242 link:RelNotes/1.6.6.1.txt[1.6.6.1],
243 link:RelNotes/1.6.6.txt[1.6.6].
Junio C Hamanof3a01ab2009-12-24 00:30:34244
Junio C Hamano0d75e872010-12-17 06:57:26245* link:v1.6.5.9/git.html[documentation for release 1.6.5.9]
Junio C Hamano77e01e32009-10-11 01:57:34246
247* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26248 link:RelNotes/1.6.5.9.txt[1.6.5.9],
Junio C Hamano05d16ca2010-09-10 21:57:17249 link:RelNotes/1.6.5.8.txt[1.6.5.8],
250 link:RelNotes/1.6.5.7.txt[1.6.5.7],
251 link:RelNotes/1.6.5.6.txt[1.6.5.6],
252 link:RelNotes/1.6.5.5.txt[1.6.5.5],
253 link:RelNotes/1.6.5.4.txt[1.6.5.4],
254 link:RelNotes/1.6.5.3.txt[1.6.5.3],
255 link:RelNotes/1.6.5.2.txt[1.6.5.2],
256 link:RelNotes/1.6.5.1.txt[1.6.5.1],
257 link:RelNotes/1.6.5.txt[1.6.5].
Junio C Hamano77e01e32009-10-11 01:57:34258
Junio C Hamano0d75e872010-12-17 06:57:26259* link:v1.6.4.5/git.html[documentation for release 1.6.4.5]
Junio C Hamano3bd4ce32009-06-04 07:18:09260
261* release notes for
Junio C Hamano0d75e872010-12-17 06:57:26262 link:RelNotes/1.6.4.5.txt[1.6.4.5],
Junio C Hamano05d16ca2010-09-10 21:57:17263 link:RelNotes/1.6.4.4.txt[1.6.4.4],
264 link:RelNotes/1.6.4.3.txt[1.6.4.3],
265 link:RelNotes/1.6.4.2.txt[1.6.4.2],
266 link:RelNotes/1.6.4.1.txt[1.6.4.1],
267 link:RelNotes/1.6.4.txt[1.6.4].
Junio C Hamano543f8d62009-07-29 08:35:21268
269* link:v1.6.3.4/git.html[documentation for release 1.6.3.4]
270
271* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17272 link:RelNotes/1.6.3.4.txt[1.6.3.4],
273 link:RelNotes/1.6.3.3.txt[1.6.3.3],
274 link:RelNotes/1.6.3.2.txt[1.6.3.2],
275 link:RelNotes/1.6.3.1.txt[1.6.3.1],
276 link:RelNotes/1.6.3.txt[1.6.3].
Junio C Hamanoa9eca4e2009-03-04 08:29:59277
278* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17279 link:RelNotes/1.6.2.5.txt[1.6.2.5],
280 link:RelNotes/1.6.2.4.txt[1.6.2.4],
281 link:RelNotes/1.6.2.3.txt[1.6.2.3],
282 link:RelNotes/1.6.2.2.txt[1.6.2.2],
283 link:RelNotes/1.6.2.1.txt[1.6.2.1],
284 link:RelNotes/1.6.2.txt[1.6.2].
Junio C Hamanoa9eca4e2009-03-04 08:29:59285
Junio C Hamanoe5bf6c12009-02-07 21:43:10286* link:v1.6.1.3/git.html[documentation for release 1.6.1.3]
Junio C Hamano13016de2008-12-25 05:46:57287
288* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17289 link:RelNotes/1.6.1.3.txt[1.6.1.3],
290 link:RelNotes/1.6.1.2.txt[1.6.1.2],
291 link:RelNotes/1.6.1.1.txt[1.6.1.1],
292 link:RelNotes/1.6.1.txt[1.6.1].
Junio C Hamano13016de2008-12-25 05:46:57293
Junio C Hamano54bf1e22008-12-20 06:30:11294* link:v1.6.0.6/git.html[documentation for release 1.6.0.6]
Junio C Hamanoc6e59502008-08-17 21:05:51295
296* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17297 link:RelNotes/1.6.0.6.txt[1.6.0.6],
298 link:RelNotes/1.6.0.5.txt[1.6.0.5],
299 link:RelNotes/1.6.0.4.txt[1.6.0.4],
300 link:RelNotes/1.6.0.3.txt[1.6.0.3],
301 link:RelNotes/1.6.0.2.txt[1.6.0.2],
302 link:RelNotes/1.6.0.1.txt[1.6.0.1],
303 link:RelNotes/1.6.0.txt[1.6.0].
Junio C Hamanoc6e59502008-08-17 21:05:51304
Junio C Hamano54bf1e22008-12-20 06:30:11305* link:v1.5.6.6/git.html[documentation for release 1.5.6.6]
Junio C Hamano11fe55c2008-06-18 23:14:56306
307* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17308 link:RelNotes/1.5.6.6.txt[1.5.6.6],
309 link:RelNotes/1.5.6.5.txt[1.5.6.5],
310 link:RelNotes/1.5.6.4.txt[1.5.6.4],
311 link:RelNotes/1.5.6.3.txt[1.5.6.3],
312 link:RelNotes/1.5.6.2.txt[1.5.6.2],
313 link:RelNotes/1.5.6.1.txt[1.5.6.1],
314 link:RelNotes/1.5.6.txt[1.5.6].
Junio C Hamano11fe55c2008-06-18 23:14:56315
Junio C Hamano54bf1e22008-12-20 06:30:11316* link:v1.5.5.6/git.html[documentation for release 1.5.5.6]
Junio C Hamano0d0679d2008-04-08 06:15:46317
318* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17319 link:RelNotes/1.5.5.6.txt[1.5.5.6],
320 link:RelNotes/1.5.5.5.txt[1.5.5.5],
321 link:RelNotes/1.5.5.4.txt[1.5.5.4],
322 link:RelNotes/1.5.5.3.txt[1.5.5.3],
323 link:RelNotes/1.5.5.2.txt[1.5.5.2],
324 link:RelNotes/1.5.5.1.txt[1.5.5.1],
325 link:RelNotes/1.5.5.txt[1.5.5].
Junio C Hamano0d0679d2008-04-08 06:15:46326
Junio C Hamano54bf1e22008-12-20 06:30:11327* link:v1.5.4.7/git.html[documentation for release 1.5.4.7]
Junio C Hamano7b9b4262008-02-02 06:48:39328
329* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17330 link:RelNotes/1.5.4.7.txt[1.5.4.7],
331 link:RelNotes/1.5.4.6.txt[1.5.4.6],
332 link:RelNotes/1.5.4.5.txt[1.5.4.5],
333 link:RelNotes/1.5.4.4.txt[1.5.4.4],
334 link:RelNotes/1.5.4.3.txt[1.5.4.3],
335 link:RelNotes/1.5.4.2.txt[1.5.4.2],
336 link:RelNotes/1.5.4.1.txt[1.5.4.1],
337 link:RelNotes/1.5.4.txt[1.5.4].
Junio C Hamano7b9b4262008-02-02 06:48:39338
Junio C Hamano4e272312008-01-08 09:13:21339* link:v1.5.3.8/git.html[documentation for release 1.5.3.8]
Junio C Hamanoa75069c2007-09-04 01:19:24340
341* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17342 link:RelNotes/1.5.3.8.txt[1.5.3.8],
343 link:RelNotes/1.5.3.7.txt[1.5.3.7],
344 link:RelNotes/1.5.3.6.txt[1.5.3.6],
345 link:RelNotes/1.5.3.5.txt[1.5.3.5],
346 link:RelNotes/1.5.3.4.txt[1.5.3.4],
347 link:RelNotes/1.5.3.3.txt[1.5.3.3],
348 link:RelNotes/1.5.3.2.txt[1.5.3.2],
349 link:RelNotes/1.5.3.1.txt[1.5.3.1],
350 link:RelNotes/1.5.3.txt[1.5.3].
Junio C Hamano75485c82007-05-19 04:20:33351
Junio C Hamano9eb57532008-06-26 06:33:46352* link:v1.5.2.5/git.html[documentation for release 1.5.2.5]
353
Junio C Hamanoed7f4f62007-05-20 09:09:09354* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17355 link:RelNotes/1.5.2.5.txt[1.5.2.5],
356 link:RelNotes/1.5.2.4.txt[1.5.2.4],
357 link:RelNotes/1.5.2.3.txt[1.5.2.3],
358 link:RelNotes/1.5.2.2.txt[1.5.2.2],
359 link:RelNotes/1.5.2.1.txt[1.5.2.1],
360 link:RelNotes/1.5.2.txt[1.5.2].
Junio C Hamanoed7f4f62007-05-20 09:09:09361
362* link:v1.5.1.6/git.html[documentation for release 1.5.1.6]
363
364* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17365 link:RelNotes/1.5.1.6.txt[1.5.1.6],
366 link:RelNotes/1.5.1.5.txt[1.5.1.5],
367 link:RelNotes/1.5.1.4.txt[1.5.1.4],
368 link:RelNotes/1.5.1.3.txt[1.5.1.3],
369 link:RelNotes/1.5.1.2.txt[1.5.1.2],
370 link:RelNotes/1.5.1.1.txt[1.5.1.1],
371 link:RelNotes/1.5.1.txt[1.5.1].
Junio C Hamano91d44c52007-05-09 07:16:07372
Junio C Hamanoa9b8d242007-05-19 04:51:55373* link:v1.5.0.7/git.html[documentation for release 1.5.0.7]
Junio C Hamano91d44c52007-05-09 07:16:07374
Junio C Hamanoed7f4f62007-05-20 09:09:09375* release notes for
Junio C Hamano05d16ca2010-09-10 21:57:17376 link:RelNotes/1.5.0.7.txt[1.5.0.7],
377 link:RelNotes/1.5.0.6.txt[1.5.0.6],
378 link:RelNotes/1.5.0.5.txt[1.5.0.5],
379 link:RelNotes/1.5.0.3.txt[1.5.0.3],
380 link:RelNotes/1.5.0.2.txt[1.5.0.2],
381 link:RelNotes/1.5.0.1.txt[1.5.0.1],
382 link:RelNotes/1.5.0.txt[1.5.0].
Junio C Hamanoe90436a2007-04-22 07:22:13383
Junio C Hamanoa9b8d242007-05-19 04:51:55384* documentation for release link:v1.4.4.4/git.html[1.4.4.4],
385 link:v1.3.3/git.html[1.3.3],
386 link:v1.2.6/git.html[1.2.6],
387 link:v1.0.13/git.html[1.0.13].
Junio C Hamano9d52e572007-02-13 23:48:20388
389============
390
391endif::stalenotes[]
392
Junio C Hamano1a4e8412005-12-27 08:17:23393OPTIONS
394-------
395--version::
Junio C Hamano076ffcc2013-02-06 05:13:21396Prints the Git suite version that the 'git' program came from.
Junio C Hamano1a4e8412005-12-27 08:17:23397
398--help::
Junio C Hamano01078922006-03-10 00:31:47399Prints the synopsis and a list of the most commonly used
Junio C Hamano58256872007-12-04 08:31:13400commands. If the option '--all' or '-a' is given then all
Junio C Hamano076ffcc2013-02-06 05:13:21401available commands are printed. If a Git command is named this
Junio C Hamano58256872007-12-04 08:31:13402option will bring up the manual page for that command.
Junio C Hamano0c0da5f2007-12-13 02:45:30403+
404Other options are available to control how the manual page is
Junio C Hamano35738e82008-01-07 07:55:46405displayed. See linkgit:git-help[1] for more information,
Junio C Hamanoba4b9282008-07-06 05:20:31406because `git --help ...` is converted internally into `git
407help ...`.
Junio C Hamano1a4e8412005-12-27 08:17:23408
Junio C Hamano79f4c7c2013-09-20 21:03:37409-C <path>::
410Run as if git was started in '<path>' instead of the current working
411directory. When multiple `-C` options are given, each subsequent
412non-absolute `-C <path>` is interpreted relative to the preceding `-C
413<path>`.
414+
415This option affects options that expect path name like `--git-dir` and
416`--work-tree` in that their interpretations of the path names would be
417made relative to the working directory caused by the `-C` option. For
418example the following invocations are equivalent:
419
420 git --git-dir=a.git --work-tree=b -C c status
421 git --git-dir=c/a.git --work-tree=c/b status
422
Junio C Hamanocc7636a2010-05-21 14:57:53423-c <name>=<value>::
424Pass a configuration parameter to the command. The value
425given will override values from configuration files.
426The <name> is expected in the same format as listed by
427'git config' (subkeys separated by dots).
428
Junio C Hamanod2179ef2010-10-22 04:12:17429--exec-path[=<path>]::
Junio C Hamano076ffcc2013-02-06 05:13:21430Path to wherever your core Git programs are installed.
Junio C Hamano1a4e8412005-12-27 08:17:23431This can also be controlled by setting the GIT_EXEC_PATH
Junio C Hamanoba4b9282008-07-06 05:20:31432environment variable. If no path is given, 'git' will print
Junio C Hamano1a4e8412005-12-27 08:17:23433the current setting and then exit.
434
Junio C Hamanob4a9ede2009-04-08 07:36:32435--html-path::
Junio C Hamano076ffcc2013-02-06 05:13:21436Print the path, without trailing slash, where Git's HTML
Junio C Hamano5f2627d2011-05-06 20:23:48437documentation is installed and exit.
438
439--man-path::
440Print the manpath (see `man(1)`) for the man pages for
Junio C Hamano076ffcc2013-02-06 05:13:21441this version of Git and exit.
Junio C Hamano5f2627d2011-05-06 20:23:48442
443--info-path::
444Print the path where the Info files documenting this
Junio C Hamano076ffcc2013-02-06 05:13:21445version of Git are installed and exit.
Junio C Hamanob4a9ede2009-04-08 07:36:32446
Junio C Hamanoeb415992008-06-08 22:49:47447-p::
448--paginate::
Junio C Hamano4aa0bcc2010-03-03 05:13:12449Pipe all output into 'less' (or if set, $PAGER) if standard
450output is a terminal. This overrides the `pager.<cmd>`
451configuration options (see the "Configuration Mechanism" section
452below).
Junio C Hamanof870ef82006-07-29 09:10:13453
Junio C Hamanocae86272007-08-21 02:20:49454--no-pager::
Junio C Hamano076ffcc2013-02-06 05:13:21455Do not pipe Git output into a pager.
Junio C Hamanocae86272007-08-21 02:20:49456
Junio C Hamanof870ef82006-07-29 09:10:13457--git-dir=<path>::
458Set the path to the repository. This can also be controlled by
Junio C Hamano7d575a52008-04-30 08:45:27459setting the GIT_DIR environment variable. It can be an absolute
460path or relative path to current working directory.
Junio C Hamanof870ef82006-07-29 09:10:13461
Junio C Hamanod526ba92007-07-02 00:17:42462--work-tree=<path>::
Junio C Hamano80d58462011-01-24 22:52:52463Set the path to the working tree. It can be an absolute path
464or a path relative to the current working directory.
Junio C Hamanod526ba92007-07-02 00:17:42465This can also be controlled by setting the GIT_WORK_TREE
466environment variable and the core.worktree configuration
Junio C Hamano80d58462011-01-24 22:52:52467variable (see core.worktree in linkgit:git-config[1] for a
468more detailed discussion).
Junio C Hamanod526ba92007-07-02 00:17:42469
Junio C Hamanof7279012011-08-18 06:13:13470--namespace=<path>::
Junio C Hamano076ffcc2013-02-06 05:13:21471Set the Git namespace. See linkgit:gitnamespaces[7] for more
Junio C Hamanof7279012011-08-18 06:13:13472details. Equivalent to setting the `GIT_NAMESPACE` environment
473variable.
474
Junio C Hamanof870ef82006-07-29 09:10:13475--bare::
Junio C Hamanoc435b1c2007-08-28 06:25:35476Treat the repository as a bare repository. If GIT_DIR
477environment is not set, it is set to the current working
478directory.
479
Junio C Hamano3d23a0a2009-10-19 08:04:30480--no-replace-objects::
Junio C Hamano076ffcc2013-02-06 05:13:21481Do not use replacement refs to replace Git objects. See
Junio C Hamano3d23a0a2009-10-19 08:04:30482linkgit:git-replace[1] for more information.
483
Junio C Hamanoabad6da2013-01-06 09:06:32484--literal-pathspecs::
Junio C Hamano8eac2682013-09-09 22:35:20485Treat pathspecs literally (i.e. no globbing, no pathspec magic).
486This is equivalent to setting the `GIT_LITERAL_PATHSPECS` environment
Junio C Hamanoabad6da2013-01-06 09:06:32487variable to `1`.
488
Junio C Hamanob9acecb2013-10-16 01:18:56489--glob-pathspecs::
Junio C Hamano8eac2682013-09-09 22:35:20490Add "glob" magic to all pathspec. This is equivalent to setting
491the `GIT_GLOB_PATHSPECS` environment variable to `1`. Disabling
492globbing on individual pathspecs can be done using pathspec
493magic ":(literal)"
494
Junio C Hamanob9acecb2013-10-16 01:18:56495--noglob-pathspecs::
Junio C Hamano8eac2682013-09-09 22:35:20496Add "literal" magic to all pathspec. This is equivalent to setting
497the `GIT_NOGLOB_PATHSPECS` environment variable to `1`. Enabling
498globbing on individual pathspecs can be done using pathspec
499magic ":(glob)"
500
Junio C Hamanob9acecb2013-10-16 01:18:56501--icase-pathspecs::
Junio C Hamano8eac2682013-09-09 22:35:20502Add "icase" magic to all pathspec. This is equivalent to setting
503the `GIT_ICASE_PATHSPECS` environment variable to `1`.
Junio C Hamano1a4e8412005-12-27 08:17:23504
Junio C Hamanoe27fb932006-04-03 05:34:10505GIT COMMANDS
506------------
Junio C Hamano1a4e8412005-12-27 08:17:23507
Junio C Hamano076ffcc2013-02-06 05:13:21508We divide Git into high level ("porcelain") commands and low level
Junio C Hamanoe27fb932006-04-03 05:34:10509("plumbing") commands.
Junio C Hamano1a4e8412005-12-27 08:17:23510
Junio C Hamanob19b4f02006-10-29 20:47:22511High-level commands (porcelain)
512-------------------------------
513
514We separate the porcelain commands into the main commands and some
515ancillary user utilities.
516
517Main porcelain commands
518~~~~~~~~~~~~~~~~~~~~~~~
519
Junio C Hamano7c73c662007-01-19 00:37:50520include::cmds-mainporcelain.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22521
522Ancillary Commands
523~~~~~~~~~~~~~~~~~~
524Manipulators:
525
Junio C Hamano7c73c662007-01-19 00:37:50526include::cmds-ancillarymanipulators.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22527
528Interrogators:
529
Junio C Hamano7c73c662007-01-19 00:37:50530include::cmds-ancillaryinterrogators.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22531
Junio C Hamano4ad294b2007-01-20 02:22:50532
533Interacting with Others
534~~~~~~~~~~~~~~~~~~~~~~~
535
536These commands are to interact with foreign SCM and with other
537people via patch over e-mail.
538
539include::cmds-foreignscminterface.txt[]
540
541
Junio C Hamanoe27fb932006-04-03 05:34:10542Low-level commands (plumbing)
543-----------------------------
Junio C Hamano1a4e8412005-12-27 08:17:23544
Junio C Hamano076ffcc2013-02-06 05:13:21545Although Git includes its
Junio C Hamanoe27fb932006-04-03 05:34:10546own porcelain layer, its low-level commands are sufficient to support
547development of alternative porcelains. Developers of such porcelains
Junio C Hamano35738e82008-01-07 07:55:46548might start by reading about linkgit:git-update-index[1] and
549linkgit:git-read-tree[1].
Junio C Hamano1a4e8412005-12-27 08:17:23550
Junio C Hamano4ad294b2007-01-20 02:22:50551The interface (input, output, set of options and the semantics)
552to these low-level commands are meant to be a lot more stable
553than Porcelain level commands, because these commands are
554primarily for scripted use. The interface to Porcelain commands
555on the other hand are subject to change in order to improve the
556end user experience.
557
558The following description divides
559the low-level commands into commands that manipulate objects (in
Junio C Hamanoe27fb932006-04-03 05:34:10560the repository, index, and working tree), commands that interrogate and
561compare objects, and commands that move objects and references between
562repositories.
Junio C Hamano1a4e8412005-12-27 08:17:23563
Junio C Hamano4ad294b2007-01-20 02:22:50564
Junio C Hamano1a4e8412005-12-27 08:17:23565Manipulation commands
566~~~~~~~~~~~~~~~~~~~~~
Junio C Hamano1a4e8412005-12-27 08:17:23567
Junio C Hamano7c73c662007-01-19 00:37:50568include::cmds-plumbingmanipulators.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23569
570
571Interrogation commands
572~~~~~~~~~~~~~~~~~~~~~~
573
Junio C Hamano7c73c662007-01-19 00:37:50574include::cmds-plumbinginterrogators.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23575
576In general, the interrogate commands do not touch the files in
577the working tree.
578
579
580Synching repositories
581~~~~~~~~~~~~~~~~~~~~~
582
Junio C Hamano7c73c662007-01-19 00:37:50583include::cmds-synchingrepositories.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23584
Junio C Hamano27a128b2009-08-13 01:23:00585The following are helper commands used by the above; end users
Junio C Hamano4ad294b2007-01-20 02:22:50586typically do not use them directly.
587
588include::cmds-synchelpers.txt[]
589
590
591Internal helper commands
592~~~~~~~~~~~~~~~~~~~~~~~~
593
594These are internal helper commands used by other commands; end
595users typically do not use them directly.
596
597include::cmds-purehelpers.txt[]
598
Junio C Hamano1a4e8412005-12-27 08:17:23599
Junio C Hamano1a4e8412005-12-27 08:17:23600Configuration Mechanism
601-----------------------
602
Junio C Hamano2da4ac42013-02-19 00:41:17603Git uses a simple text format to store customizations that are per
604repository and are per user. Such a configuration file may look
605like this:
Junio C Hamano1a4e8412005-12-27 08:17:23606
607------------
608#
609# A '#' or ';' character indicates a comment.
610#
611
612; core variables
613[core]
614; Don't trust file modes
615filemode = false
616
617; user identity
618[user]
619name = "Junio C Hamano"
Junio C Hamano2da4ac42013-02-19 00:41:17620email = "gitster@pobox.com"
Junio C Hamano1a4e8412005-12-27 08:17:23621
622------------
623
624Various commands read from the configuration file and adjust
Junio C Hamano4aa0bcc2010-03-03 05:13:12625their operation accordingly. See linkgit:git-config[1] for a
Junio C Hamano2da4ac42013-02-19 00:41:17626list and more details about the configuration mechanism.
Junio C Hamano1a4e8412005-12-27 08:17:23627
628
629Identifier Terminology
630----------------------
631<object>::
632Indicates the object name for any type of object.
633
634<blob>::
635Indicates a blob object name.
636
637<tree>::
638Indicates a tree object name.
639
640<commit>::
641Indicates a commit object name.
642
643<tree-ish>::
644Indicates a tree, commit or tag object name. A
645command that takes a <tree-ish> argument ultimately wants to
646operate on a <tree> object but automatically dereferences
647<commit> and <tag> objects that point at a <tree>.
648
Junio C Hamano60f8aa82007-03-06 09:58:26649<commit-ish>::
650Indicates a commit or tag object name. A
651command that takes a <commit-ish> argument ultimately wants to
652operate on a <commit> object but automatically dereferences
653<tag> objects that point at a <commit>.
654
Junio C Hamano1a4e8412005-12-27 08:17:23655<type>::
656Indicates that an object type is required.
657Currently one of: `blob`, `tree`, `commit`, or `tag`.
658
659<file>::
660Indicates a filename - almost always relative to the
661root of the tree structure `GIT_INDEX_FILE` describes.
662
663Symbolic Identifiers
664--------------------
Junio C Hamano076ffcc2013-02-06 05:13:21665Any Git command accepting any <object> can also use the following
Junio C Hamano1a4e8412005-12-27 08:17:23666symbolic notation:
667
668HEAD::
Junio C Hamano360e3a12011-07-13 23:51:56669indicates the head of the current branch.
Junio C Hamano1a4e8412005-12-27 08:17:23670
671<tag>::
672a valid tag 'name'
Junio C Hamano360e3a12011-07-13 23:51:56673(i.e. a `refs/tags/<tag>` reference).
Junio C Hamano1a4e8412005-12-27 08:17:23674
675<head>::
676a valid head 'name'
Junio C Hamano360e3a12011-07-13 23:51:56677(i.e. a `refs/heads/<head>` reference).
Junio C Hamano1a4e8412005-12-27 08:17:23678
Junio C Hamanoff4b4312006-10-25 22:55:31679For a more complete list of ways to spell object names, see
Junio C Hamanoc27b7332010-10-14 04:37:28680"SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
Junio C Hamanoff4b4312006-10-25 22:55:31681
Junio C Hamano1a4e8412005-12-27 08:17:23682
683File/Directory Structure
684------------------------
685
Junio C Hamanofce7c7e2008-07-02 03:06:38686Please see the linkgit:gitrepository-layout[5] document.
Junio C Hamano1a4e8412005-12-27 08:17:23687
Junio C Hamanofce7c7e2008-07-02 03:06:38688Read linkgit:githooks[5] for more details about each hook.
Junio C Hamano818f7d62006-03-26 01:49:30689
Junio C Hamano1a4e8412005-12-27 08:17:23690Higher level SCMs may provide and manage additional information in the
691`$GIT_DIR`.
692
693
694Terminology
695-----------
Junio C Hamanofce7c7e2008-07-02 03:06:38696Please see linkgit:gitglossary[7].
Junio C Hamano1a4e8412005-12-27 08:17:23697
698
699Environment Variables
700---------------------
Junio C Hamano076ffcc2013-02-06 05:13:21701Various Git commands use the following environment variables:
Junio C Hamano1a4e8412005-12-27 08:17:23702
Junio C Hamano076ffcc2013-02-06 05:13:21703The Git Repository
Junio C Hamano1a4e8412005-12-27 08:17:23704~~~~~~~~~~~~~~~~~~
Junio C Hamano076ffcc2013-02-06 05:13:21705These environment variables apply to 'all' core Git commands. Nb: it
Junio C Hamano1a4e8412005-12-27 08:17:23706is worth noting that they may be used/overridden by SCMS sitting above
Junio C Hamano076ffcc2013-02-06 05:13:21707Git so take care if using Cogito etc.
Junio C Hamano1a4e8412005-12-27 08:17:23708
709'GIT_INDEX_FILE'::
710This environment allows the specification of an alternate
711index file. If not specified, the default of `$GIT_DIR/index`
712is used.
713
714'GIT_OBJECT_DIRECTORY'::
715If the object storage directory is specified via this
716environment variable then the sha1 directories are created
717underneath - otherwise the default `$GIT_DIR/objects`
718directory is used.
719
720'GIT_ALTERNATE_OBJECT_DIRECTORIES'::
Junio C Hamano076ffcc2013-02-06 05:13:21721Due to the immutable nature of Git objects, old objects can be
Junio C Hamano1a4e8412005-12-27 08:17:23722archived into shared, read-only directories. This variable
Junio C Hamano05bf9c52008-07-03 09:21:58723specifies a ":" separated (on Windows ";" separated) list
Junio C Hamano076ffcc2013-02-06 05:13:21724of Git object directories which can be used to search for Git
Junio C Hamano05bf9c52008-07-03 09:21:58725objects. New objects will not be written to these directories.
Junio C Hamano1a4e8412005-12-27 08:17:23726
727'GIT_DIR'::
728If the 'GIT_DIR' environment variable is set then it
729specifies a path to use instead of the default `.git`
730for the base of the repository.
Junio C Hamano0b0417b2012-12-13 20:35:02731The '--git-dir' command-line option also sets this value.
Junio C Hamano1a4e8412005-12-27 08:17:23732
Junio C Hamanod526ba92007-07-02 00:17:42733'GIT_WORK_TREE'::
Junio C Hamanof1f5a7b2013-06-11 22:23:52734Set the path to the root of the working tree.
Junio C Hamanod526ba92007-07-02 00:17:42735This can also be controlled by the '--work-tree' command line
736option and the core.worktree configuration variable.
737
Junio C Hamanof7279012011-08-18 06:13:13738'GIT_NAMESPACE'::
Junio C Hamano076ffcc2013-02-06 05:13:21739Set the Git namespace; see linkgit:gitnamespaces[7] for details.
Junio C Hamanof7279012011-08-18 06:13:13740The '--namespace' command-line option also sets this value.
741
Junio C Hamano15048272008-07-07 22:10:48742'GIT_CEILING_DIRECTORIES'::
Junio C Hamano68061622013-03-01 22:13:37743This should be a colon-separated list of absolute paths. If
744set, it is a list of directories that Git should not chdir up
745into while looking for a repository directory (useful for
746excluding slow-loading network directories). It will not
747exclude the current working directory or a GIT_DIR set on the
748command line or in the environment. Normally, Git has to read
749the entries in this list and resolve any symlink that
750might be present in order to compare them with the current
751directory. However, if even this access is slow, you
752can add an empty entry to the list to tell Git that the
753subsequent entries are not symlinks and needn't be resolved;
754e.g.,
755'GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink'.
Junio C Hamano15048272008-07-07 22:10:48756
Junio C Hamanocc7636a2010-05-21 14:57:53757'GIT_DISCOVERY_ACROSS_FILESYSTEM'::
758When run in a directory that does not have ".git" repository
Junio C Hamano076ffcc2013-02-06 05:13:21759directory, Git tries to find such a directory in the parent
Junio C Hamanocc7636a2010-05-21 14:57:53760directories to find the top of the working tree, but by default it
761does not cross filesystem boundaries. This environment variable
Junio C Hamano076ffcc2013-02-06 05:13:21762can be set to true to tell Git not to stop at filesystem
Junio C Hamanocc7636a2010-05-21 14:57:53763boundaries. Like 'GIT_CEILING_DIRECTORIES', this will not affect
764an explicit repository directory set via 'GIT_DIR' or on the
765command line.
766
Junio C Hamano076ffcc2013-02-06 05:13:21767Git Commits
Junio C Hamano1a4e8412005-12-27 08:17:23768~~~~~~~~~~~
769'GIT_AUTHOR_NAME'::
770'GIT_AUTHOR_EMAIL'::
771'GIT_AUTHOR_DATE'::
772'GIT_COMMITTER_NAME'::
773'GIT_COMMITTER_EMAIL'::
Junio C Hamano469d60e2007-04-29 18:30:34774'GIT_COMMITTER_DATE'::
775'EMAIL'::
Junio C Hamano35738e82008-01-07 07:55:46776see linkgit:git-commit-tree[1]
Junio C Hamano1a4e8412005-12-27 08:17:23777
Junio C Hamano076ffcc2013-02-06 05:13:21778Git Diffs
Junio C Hamano1a4e8412005-12-27 08:17:23779~~~~~~~~~
780'GIT_DIFF_OPTS'::
Junio C Hamano1c437122006-11-28 02:22:25781Only valid setting is "--unified=??" or "-u??" to set the
782number of context lines shown when a unified diff is created.
783This takes precedence over any "-U" or "--unified" option
Junio C Hamano076ffcc2013-02-06 05:13:21784value passed on the Git diff command line.
Junio C Hamano1c437122006-11-28 02:22:25785
Junio C Hamano1a4e8412005-12-27 08:17:23786'GIT_EXTERNAL_DIFF'::
Junio C Hamano1c437122006-11-28 02:22:25787When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
788program named by it is called, instead of the diff invocation
789described above. For a path that is added, removed, or modified,
790 'GIT_EXTERNAL_DIFF' is called with 7 parameters:
791
792path old-file old-hex old-mode new-file new-hex new-mode
793+
794where:
795
796<old|new>-file:: are files GIT_EXTERNAL_DIFF can use to read the
797 contents of <old|new>,
Junio C Hamanoe3f080d2013-04-22 02:27:13798<old|new>-hex:: are the 40-hexdigit SHA-1 hashes,
Junio C Hamano1c437122006-11-28 02:22:25799<old|new>-mode:: are the octal representation of the file modes.
Junio C Hamano1c437122006-11-28 02:22:25800+
801The file parameters can point at the user's working file
802(e.g. `new-file` in "git-diff-files"), `/dev/null` (e.g. `old-file`
803when a new file is added), or a temporary file (e.g. `old-file` in the
804index). 'GIT_EXTERNAL_DIFF' should not worry about unlinking the
805temporary file --- it is removed when 'GIT_EXTERNAL_DIFF' exits.
806+
807For a path that is unmerged, 'GIT_EXTERNAL_DIFF' is called with 1
808parameter, <path>.
Junio C Hamano1a4e8412005-12-27 08:17:23809
Junio C Hamano7ccb9fd2006-07-15 01:38:40810other
811~~~~~
Junio C Hamano1e6e0062007-07-13 05:33:25812'GIT_MERGE_VERBOSITY'::
813A number controlling the amount of output shown by
814the recursive merge strategy. Overrides merge.verbosity.
Junio C Hamano35738e82008-01-07 07:55:46815See linkgit:git-merge[1]
Junio C Hamano1e6e0062007-07-13 05:33:25816
Junio C Hamano85e45fa2006-08-13 07:47:41817'GIT_PAGER'::
Junio C Hamanof6002a92007-07-20 10:28:22818This environment variable overrides `$PAGER`. If it is set
Junio C Hamano076ffcc2013-02-06 05:13:21819to an empty string or to the value "cat", Git will not launch
Junio C Hamano0551f6a2008-08-25 00:33:33820a pager. See also the `core.pager` option in
821linkgit:git-config[1].
Junio C Hamano85e45fa2006-08-13 07:47:41822
Junio C Hamano0ff98162012-03-31 18:19:09823'GIT_EDITOR'::
824This environment variable overrides `$EDITOR` and `$VISUAL`.
Junio C Hamano076ffcc2013-02-06 05:13:21825It is used by several Git commands when, on interactive mode,
Junio C Hamano0ff98162012-03-31 18:19:09826an editor is to be launched. See also linkgit:git-var[1]
827and the `core.editor` option in linkgit:git-config[1].
828
Junio C Hamano4cd1c0e2007-08-06 04:39:14829'GIT_SSH'::
Junio C Hamano1aa40d22010-01-21 17:46:43830If this environment variable is set then 'git fetch'
831and 'git push' will use this command instead
Junio C Hamanoba4b9282008-07-06 05:20:31832of 'ssh' when they need to connect to a remote system.
Junio C Hamano712be262013-03-26 22:45:56833The '$GIT_SSH' command will be given exactly two or
834four arguments: the 'username@host' (or just 'host')
835from the URL and the shell command to execute on that
836remote system, optionally preceded by '-p' (literally) and
837the 'port' from the URL when it specifies something other
838than the default SSH port.
Junio C Hamano4cd1c0e2007-08-06 04:39:14839+
840To pass options to the program that you want to list in GIT_SSH
841you will need to wrap the program and options into a shell script,
842then set GIT_SSH to refer to the shell script.
843+
844Usually it is easier to configure any desired options through your
845personal `.ssh/config` file. Please consult your ssh documentation
846for further details.
847
Junio C Hamano3fd7b262010-09-08 22:44:20848'GIT_ASKPASS'::
Junio C Hamano076ffcc2013-02-06 05:13:21849If this environment variable is set, then Git commands which need to
Junio C Hamano3fd7b262010-09-08 22:44:20850acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
851will call this program with a suitable prompt as command line argument
852and read the password from its STDOUT. See also the 'core.askpass'
853option in linkgit:git-config[1].
854
Junio C Hamanoeec745b2013-01-07 08:08:20855'GIT_CONFIG_NOSYSTEM'::
856Whether to skip reading settings from the system-wide
857`$(prefix)/etc/gitconfig` file. This environment variable can
858be used along with `$HOME` and `$XDG_CONFIG_HOME` to create a
859predictable environment for a picky script, or you can set it
860temporarily to avoid using a buggy `/etc/gitconfig` file while
861waiting for someone with sufficient permissions to fix it.
862
Junio C Hamano401939f2007-07-01 06:34:30863'GIT_FLUSH'::
864If this environment variable is set to "1", then commands such
Junio C Hamano1aa40d22010-01-21 17:46:43865as 'git blame' (in incremental mode), 'git rev-list', 'git log',
Junio C Hamano0241d052013-08-30 23:52:17866'git check-attr' and 'git check-ignore' will
Junio C Hamanoc7102962013-05-29 23:57:17867force a flush of the output stream after each record have been
868flushed. If this
Junio C Hamano401939f2007-07-01 06:34:30869variable is set to "0", the output of these commands will be done
870using completely buffered I/O. If this environment variable is
Junio C Hamano076ffcc2013-02-06 05:13:21871not set, Git will choose buffered or record-oriented flushing
Junio C Hamano401939f2007-07-01 06:34:30872based on whether stdout appears to be redirected to a file or not.
873
Junio C Hamano7ccb9fd2006-07-15 01:38:40874'GIT_TRACE'::
Junio C Hamanoef4b48b2006-09-04 10:08:34875If this variable is set to "1", "2" or "true" (comparison
Junio C Hamano076ffcc2013-02-06 05:13:21876is case insensitive), Git will print `trace:` messages on
Junio C Hamano7ccb9fd2006-07-15 01:38:40877stderr telling about alias expansion, built-in command
878execution and external command execution.
Junio C Hamanoef4b48b2006-09-04 10:08:34879If this variable is set to an integer value greater than 1
Junio C Hamano076ffcc2013-02-06 05:13:21880and lower than 10 (strictly) then Git will interpret this
Junio C Hamanoef4b48b2006-09-04 10:08:34881value as an open file descriptor and will try to write the
882trace messages into this file descriptor.
883Alternatively, if this variable is set to an absolute path
Junio C Hamano076ffcc2013-02-06 05:13:21884(starting with a '/' character), Git will interpret this
Junio C Hamanoef4b48b2006-09-04 10:08:34885as a file path and will try to write the trace messages
886into it.
Junio C Hamano7ccb9fd2006-07-15 01:38:40887
Junio C Hamanofa1d3492013-06-20 23:39:43888'GIT_TRACE_PACK_ACCESS'::
889If this variable is set to a path, a file will be created at
890the given path logging all accesses to any packs. For each
891access, the pack file name and an offset in the pack is
892recorded. This may be helpful for troubleshooting some
893pack-related performance problems.
894
895'GIT_TRACE_PACKET'::
896If this variable is set, it shows a trace of all packets
897coming in or out of a given program. This can help with
898debugging object negotiation or other protocol issues. Tracing
899is turned off at a packet starting with "PACK".
900
Junio C Hamanoabad6da2013-01-06 09:06:32901GIT_LITERAL_PATHSPECS::
Junio C Hamano076ffcc2013-02-06 05:13:21902Setting this variable to `1` will cause Git to treat all
Junio C Hamanoabad6da2013-01-06 09:06:32903pathspecs literally, rather than as glob patterns. For example,
904running `GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search
905for commits that touch the path `*.c`, not any paths that the
906glob `*.c` matches. You might want this if you are feeding
Junio C Hamano076ffcc2013-02-06 05:13:21907literal paths to Git (e.g., paths previously given to you by
Junio C Hamanoabad6da2013-01-06 09:06:32908`git ls-tree`, `--raw` diff output, etc).
909
Junio C Hamano8eac2682013-09-09 22:35:20910GIT_GLOB_PATHSPECS::
911Setting this variable to `1` will cause Git to treat all
912pathspecs as glob patterns (aka "glob" magic).
913
914GIT_NOGLOB_PATHSPECS::
915Setting this variable to `1` will cause Git to treat all
916pathspecs as literal (aka "literal" magic).
917
918GIT_ICASE_PATHSPECS::
919Setting this variable to `1` will cause Git to treat all
920pathspecs as case-insensitive.
921
Junio C Hamanoaef76442013-10-18 22:11:27922'GIT_REFLOG_ACTION'::
923When a ref is updated, reflog entries are created to keep
924track of the reason why the ref was updated (which is
925typically the name of the high-level command that updated
926the ref), in addition to the old and new values of the ref.
927A scripted Porcelain command can use set_reflog_action
928helper function in `git-sh-setup` to set its name to this
929variable when it is invoked as the top level command by the
930end user, to be recorded in the body of the reflog.
931
Junio C Hamanoabad6da2013-01-06 09:06:32932
Junio C Hamano1a4e8412005-12-27 08:17:23933Discussion[[Discussion]]
934------------------------
Junio C Hamano597ffcf2007-09-17 17:33:15935
936More detail on the following is available from the
Junio C Hamano076ffcc2013-02-06 05:13:21937link:user-manual.html#git-concepts[Git concepts chapter of the
Junio C Hamanofce7c7e2008-07-02 03:06:38938user-manual] and linkgit:gitcore-tutorial[7].
Junio C Hamano597ffcf2007-09-17 17:33:15939
Junio C Hamano076ffcc2013-02-06 05:13:21940A Git project normally consists of a working directory with a ".git"
Junio C Hamano597ffcf2007-09-17 17:33:15941subdirectory at the top level. The .git directory contains, among other
942things, a compressed object database representing the complete history
943of the project, an "index" file which links that history to the current
944contents of the working tree, and named pointers into that history such
945as tags and branch heads.
946
947The object database contains objects of three main types: blobs, which
948hold file data; trees, which point to blobs and other trees to build up
Junio C Hamanofe986052007-12-19 07:33:38949directory hierarchies; and commits, which each reference a single tree
Junio C Hamano597ffcf2007-09-17 17:33:15950and some number of parent commits.
951
952The commit, equivalent to what other systems call a "changeset" or
953"version", represents a step in the project's history, and each parent
954represents an immediately preceding step. Commits with more than one
955parent represent merges of independent lines of development.
956
Junio C Hamanoe3f080d2013-04-22 02:27:13957All objects are named by the SHA-1 hash of their contents, normally
Junio C Hamano597ffcf2007-09-17 17:33:15958written as a string of 40 hex digits. Such names are globally unique.
959The entire history leading up to a commit can be vouched for by signing
960just that commit. A fourth object type, the tag, is provided for this
961purpose.
962
963When first created, objects are stored in individual files, but for
964efficiency may later be compressed together into "pack files".
965
966Named pointers called refs mark interesting points in history. A ref
Junio C Hamanoe3f080d2013-04-22 02:27:13967may contain the SHA-1 name of an object or the name of another ref. Refs
968with names beginning `ref/head/` contain the SHA-1 name of the most
969recent commit (or "head") of a branch under development. SHA-1 names of
Junio C Hamano597ffcf2007-09-17 17:33:15970tags of interest are stored under `ref/tags/`. A special ref named
971`HEAD` contains the name of the currently checked-out branch.
972
973The index file is initialized with a list of all paths and, for each
974path, a blob object and a set of attributes. The blob object represents
975the contents of the file as of the head of the current branch. The
976attributes (last modified time, size, etc.) are taken from the
977corresponding file in the working tree. Subsequent changes to the
978working tree can be found by comparing these attributes. The index may
979be updated with new content, and new commits may be created from the
980content stored in the index.
981
982The index is also capable of storing multiple entries (called "stages")
983for a given pathname. These stages are used to hold the various
984unmerged version of a file when a merge is in progress.
Junio C Hamano1a4e8412005-12-27 08:17:23985
Junio C Hamanod0316112012-08-22 19:55:29986FURTHER DOCUMENTATION
987---------------------
988
989See the references in the "description" section to get started
Junio C Hamano076ffcc2013-02-06 05:13:21990using Git. The following is probably more detail than necessary
Junio C Hamanod0316112012-08-22 19:55:29991for a first-time user.
992
Junio C Hamano076ffcc2013-02-06 05:13:21993The link:user-manual.html#git-concepts[Git concepts chapter of the
Junio C Hamanod0316112012-08-22 19:55:29994user-manual] and linkgit:gitcore-tutorial[7] both provide
Junio C Hamano076ffcc2013-02-06 05:13:21995introductions to the underlying Git architecture.
Junio C Hamanod0316112012-08-22 19:55:29996
997See linkgit:gitworkflows[7] for an overview of recommended workflows.
998
999See also the link:howto-index.html[howto] documents for some useful
1000examples.
1001
1002The internals are documented in the
Junio C Hamano076ffcc2013-02-06 05:13:211003link:technical/api-index.html[Git API documentation].
Junio C Hamanod0316112012-08-22 19:55:291004
1005Users migrating from CVS may also want to
1006read linkgit:gitcvs-migration[7].
1007
1008
Junio C Hamano1a4e8412005-12-27 08:17:231009Authors
1010-------
Junio C Hamano5f3d8392011-03-15 23:33:351011Git was started by Linus Torvalds, and is currently maintained by Junio
Junio C Hamano076ffcc2013-02-06 05:13:211012C Hamano. Numerous contributions have come from the Git mailing list
Junio C Hamano0b0417b2012-12-13 20:35:021013<git@vger.kernel.org>. http://www.ohloh.net/p/git/contributors/summary
1014gives you a more complete list of contributors.
1015
1016If you have a clone of git.git itself, the
Junio C Hamano5f3d8392011-03-15 23:33:351017output of linkgit:git-shortlog[1] and linkgit:git-blame[1] can show you
1018the authors for specific parts of the project.
Junio C Hamano1a4e8412005-12-27 08:17:231019
Junio C Hamanoa9788762010-08-03 15:15:541020Reporting Bugs
1021--------------
1022
1023Report bugs to the Git mailing list <git@vger.kernel.org> where the
1024development and maintenance is primarily done. You do not have to be
1025subscribed to the list to send a message there.
1026
Junio C Hamano9e1793f2008-06-02 07:31:161027SEE ALSO
1028--------
1029linkgit:gittutorial[7], linkgit:gittutorial-2[7],
Junio C Hamanoaf1987f2008-08-03 07:58:191030link:everyday.html[Everyday Git], linkgit:gitcvs-migration[7],
Junio C Hamano9e1793f2008-06-02 07:31:161031linkgit:gitglossary[7], linkgit:gitcore-tutorial[7],
Junio C Hamano804b5212009-06-07 16:05:031032linkgit:gitcli[7], link:user-manual.html[The Git User's Manual],
1033linkgit:gitworkflows[7]
Junio C Hamano9e1793f2008-06-02 07:31:161034
Junio C Hamano1a4e8412005-12-27 08:17:231035GIT
1036---
Junio C Hamanof7c042d2008-06-06 22:50:531037Part of the linkgit:git[1] suite